package com.ctgu.elasticsearch.service;

import com.ctgu.elasticsearch.entity.HotelEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ctgu.elasticsearch.utils.ApiResult;

import java.io.IOException;
import java.math.BigDecimal;

/**
* @author Alex2
* @description 针对表【t_hotel】的数据库操作Service
* @createDate 2025-08-24 19:23:17
*/
public interface HotelService extends IService<HotelEntity> {

    ApiResult insertHotel(String name, String address, Integer price, String brand, String city, BigDecimal longitude, BigDecimal latitude, Boolean isAD) throws IOException;

    ApiResult keywordSearch(String keyword, Integer pageNum, Integer pageSize, String orderBy, String sortType) throws IOException;

    ApiResult filter(String brand, String address, String city, Integer maxPrice, Integer minPrice, Integer pageNum, Integer pageSize, String orderBy, String sortType) throws IOException;

    ApiResult orderByDistance(BigDecimal longitude, BigDecimal latitude, Integer pageNum, Integer pageSize, String orderBy, String sortType) throws IOException;

    ApiResult aggregateSearch(String brand, String city, Integer pageNum, Integer pageSize, String orderBy, String sortType) throws IOException;

    ApiResult pinyinSearch(String name) throws IOException;
}
